#define _CRT_SECURE_NO_WARNINGS 1


//打印前四十个斐波那契数
//#include<stdio.h>
//int main()
//{
//	int a = 1;
//	int b = 1;
//	int i = 0;
//	for (i = 1; i <= 20; i++)
//	{
//		printf("%d %d ", a, b);
//		a = a + b;
//		b = a + b;
//		if (i % 2 == 0)
//			printf("\n");
//	}
//
//	return 0;
//}


//找出二维数组中的最大值及其所对应的下标
//#include<stdio.h>
//int main()
//{
//	int arr[3][4] = { 1,2,3,4,9,8,7,6,-10,10,-5,2 };
//	int i = 0;
//	int max = 0;
//	int row = 0;
//	int col = 0;
//	for (i = 0; i < 3; i++)
//	{
//		int j = 0;
//		for (j = 0; j < 4; j++)
//		{
//			if (arr[i][j] > max)
//			{
//				max = arr[i][j];
//				row = i;
//				col = j;
//			}
//		}
//	}
//	printf("max = %d\nrow =%d\ncol = %d\n", max, row, col);
//	return 0;
//}

//求两个数的最大公约数和最小公倍数
//#include<stdio.h>
//int GCD(int a, int b)
//{
//	while (a % b != 0)
//	{
//		int tmp = a;
//		a = b;
//		b = tmp % b;
//	}
//	return b;
//}
//int LCM(int a, int b, int gcd)
//{
//	return a * b / gcd;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	int gcd = GCD(a, b);
//	int lcm = LCM(a, b, gcd);
//	printf("gcd=%d\nlcm=%d\n", gcd, lcm);
//	return 0;
//}
//求π的近似值
//#include<stdio.h>
//#include<math.h>
//int main()
//{
//	int i = 1;
//	float ret = 0;
//	float pi = 0;
//	while (i * i < 1e6)
//	{
//		pi = pi + 1.0 / (i * i);
//		i++;
//	}
//	ret = sqrt(6 * pi);
//	printf("%f\n", ret);
//	return 0;
//}


////一元换1分，2分，5分
//#include<stdio.h>
//int main()
//{
//
//}
//#include<stdio.h>
//int main()
//{
//	char ch[10] = { "abcdeabcd" };
//	printf("%s\n", ch);
//	return 0;
//}
#include<stdio.h>
int main()
{
	int i = 0;
	int j = 0;
	int k = 0;
	for (i = 0; i <= 20; i++)
	{
		for (j = 0; j <= 50; j++)
		{
			k = 100 - 5 * i - 2 * j;
			if (k >= 0)
			{
				printf("%d %d %d", i, j, k);
				printf("\n");
			}
		}
	}
	return 0;
}